Modern in-memory database systems achieve extreme performance for analytical workloads by taking advantages of recent trends in hardware technology, including dynamic random-access memory (DRAM) footprints and the instructional level parallelism of register vector processing offered by, e.g. single instruction, multiple data (SIMD) and AdvancedVector Extensions (AVX) processor capabilities. Further, for in-memory columnar databases, dictionary based compression schemes produce uniform representation and in-memory layout for each column. The memory layout can be optimized for extremely fast basic database operations, such as scan and search. Fundamentally, in-memory systems make a price-performance trade-off that is highly desirable in most enterprise application scenarios. However, with the rapid growth in the variety of applications that want to combine business data with emerging Internet of Things (IoT) and/or social media data, there is a need to also provide very high performance for very large data sets while improving the use of precious main memory for low value or low density data.
In the drawings, like reference numbers generally indicate identical or similar elements. Additionally, generally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.